package com.haruhinav.Utils;

import org.springframework.stereotype.Component;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

@Component
public class TimeTool {
    //params time的格式：yyyy-MM-dd HH:mm:ss
//    yyyy-MM-dd hh:mm:ss >>> yyyy年MM月dd日 hh
    public String SubTime(String time) {
        String yyyy =time.substring(0,4);
        String MM =time.substring(5,7);
        String dd = time.substring(8,10);
        String hh = time.substring(11,16);
        //System.out.println("-======================================================="+yyyy+"年"+MM+"月" + dd+"日" + t);
        return yyyy+"年"+MM+"月" + dd+"日\t" + hh;
    }
    /**
     * 判断当前日期是否大于上一次添加时间
     * time的格式：yyyy-MM-dd HH:mm:ss
     *
     * result: true 当前 > 上一次...  false 反之
     */
    public boolean checkTimeAfterNow(String time){
//        截取...
        Integer yyyy =Integer.parseInt(time.substring(0,4));
        Integer MM =Integer.parseInt(time.substring(5,7));
        Integer dd = Integer.parseInt(time.substring(8,10));
        //转时间类型 到day
        Date lastDate = new Date(yyyy, MM, dd);
//        当前时间 到day
        Date now;
        Calendar c = Calendar.getInstance();
        now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH));
//        判断当前日期是否大于上一次添加时间
        return now.after(lastDate);

    }
//    判断预修改的数据，添加时间是否是当天(相等)
    public boolean checkTimeEqualsNow(String time){
//        截取...
        Integer yyyy =Integer.parseInt(time.substring(0,4));
        Integer MM =Integer.parseInt(time.substring(5,7));
        Integer dd = Integer.parseInt(time.substring(8,10));
        //转时间类型 到day
        Date lastDate = new Date(yyyy, MM, dd);
//        当前时间 到day
        Date now;
        Calendar c = Calendar.getInstance();
        now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH));
//        判断添加时间是否是当天(相等)
        return now.equals(lastDate);

    }
    public long GetWebsiteDatetime(){
        try {
            URL url = new URL("http://www.ntsc.ac.cn");// 取得资源对象
            URLConnection uc = url.openConnection();
            uc.connect();// 发出连接
            Long ld = uc.getDate();// 读取网站日期时间

            return ld;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {

            e.printStackTrace();
        }
        return 0L;
    }
//    获取当前时间
    public String getNow(){
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
        return df.format(new Date());
    }
}
